home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 04 geoProgramming / COPEIN.SDA / SAMPLEMAIN (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  2019-04-13  |  4.7 KB  |  236 lines

  1.     SampleMain
  2. SEQ formatted GEOS file V1.0
  3. Epson FX-80
  4. Routines
  5. LASTER'S 
  6. ONVERTER 
  7. COPE Source V1.1
  8. geoCOPE V1.00
  9. COPE Editor V1.1
  10. Untitled
  11. SampleMain
  12. @)@:@?@E@R@_@n@z@
  13. /; ===
  14. ; MENU STRUCTURE of geoCOPE Editor
  15. ;  BY BILL SHARP
  16. START
  17.  JSR NewDisk
  18.  JSR MouseUp
  19.  JSR clrScreen
  20. LDX #<ICONS
  21. STX R0
  22. LDX #>ICONS
  23. STX R0+1
  24. JSR DoIcons ; SETUP ICONS
  25. LDX #<MENUS
  26. STX R0
  27. LDX #>MENUS
  28. STX R0+1
  29. LDA #1 ; MENU POS/MOUSE
  30. JSR DoMenu
  31. ; ICON EXECUTION ROUTINE
  32. ICONS
  33. .BYTE 1        ; one Icon
  34. .WORD 160      ; X position to place mouse
  35. .BYTE 0        ; Y position to place mous
  36. .WORD IconData ; pointer to icon BitMap
  37. .BYTE 38        ; X position in bytes to place Icon
  38. .BYTE 0         ; Y position in scanlines to place Icon
  39. .BYTE 2,15      ; Width in bytes, Height in pixels
  40. .WORD QUIT2     ; Code to call
  41. ; the icon data is stored in BitMapUp format
  42. IconData
  43. .BYTE 158
  44. .BYTE 255,255,0,0,255,255,128,01,128,1,128,1
  45. .BYTE 135,225,135,225,135,225
  46. .BYTE 128,01,128,01,128,01
  47. .BYTE 255,255
  48. .BYTE 0,0
  49. .BYTE 255,255
  50. MENUS
  51. .BYTE MenuTopPos
  52. .BYTE MenuBotPos
  53. .WORD MenuLeft
  54. .WORD MenuRight
  55. .BYTE HORIZ | 5 ; Horizontal OR'ed with 5 (for 5 items)
  56. .WORD MEMTX1 ; Pointer to Text for first menu position
  57. .BYTE $80 ; SUB-MENU structure
  58. .WORD MEMSB1  ; Pointer to Sub-Menu
  59. ;  The pattern for menus are the same below
  60. .WORD MEMTX2
  61. .BYTE $80
  62. .WORD MEMSB2
  63. .WORD MEMTX3
  64. .BYTE $80 ; SUB-MENU
  65. .WORD MEMSB3 ; SUB-MEM
  66. .WORD MEMTX4
  67. .BYTE $80 ; SUB-MENU
  68. .WORD MEMSB4
  69. .WORD MEMTX5
  70. .BYTE $80
  71. .WORD MEMSB5
  72. MEMTX1 .BYTE PLAIN,128,0
  73. MEMTX2 .BYTE 'File',0
  74. MEMTX3 .BYTE 'Edit',0
  75. MEMTX4 .BYTE 'Search',0
  76. MEMTX5 .BYTE 'Toolbox',0
  77. ;== END OF MAIN MENU STRUCTURE
  78. ;== START OF  SUB-MENUS
  79. MEMSB1
  80. ;-----
  81.  MEMSB1X
  82. .BYTE MenuBotPos
  83. .BYTE MenuBotPos+15
  84. .WORD MenuLeft
  85. .WORD MenuLeft+81
  86. .BYTE VERT+1 
  87. .WORD SUBM1 
  88. .BYTE 0 
  89. .WORD NOCODE ; Perform this routine when menu is selected
  90. ;-----
  91. SUBM1 .BYTE 'COPE info',0
  92. ;END SUBMENU1
  93. ;START SUBMENU2
  94. MEMSB2
  95. .BYTE MenuBotPos
  96. .BYTE MenuBotPos+5*14+1
  97. .WORD MenuLeft+20
  98. .WORD MenuLeft+86
  99. .BYTE VERT | 5
  100. .WORD SUBM21
  101. .BYTE 0
  102. .WORD LOAD 
  103. .WORD SUBM22
  104. .BYTE 0
  105. .WORD SAVE 
  106. .WORD SUBM23
  107. .BYTE 0
  108. .WORD PRINT
  109. .WORD SUBM24
  110. .BYTE 0 
  111. .WORD QUIT
  112. .WORD SUBM25
  113. .BYTE 0
  114. .WORD SaveAs
  115. SUBM21 .BYTE 'Load',20,64,0,128,'L',0
  116. SUBM22 .BYTE 'Save',20,64,0,128,'S',0
  117. SUBM23 .BYTE 'Print',0
  118. SUBM24 .BYTE 'Quit',20,64,0,128,'Q',0
  119. SUBM25 .BYTE 'Save As...',0
  120. ; END SUBMENU 2
  121. ; START SUBMENU 3
  122. MEMSB3
  123. .BYTE MenuBotPos
  124. .BYTE MenuBotPos+4*14+1
  125. .WORD MenuLeft+41
  126. .WORD MenuLeft+105
  127. .BYTE VERT+4
  128. .WORD SUBM31
  129. .BYTE 0
  130. .WORD CUT
  131. .WORD SUBM32
  132. .BYTE 0
  133. .WORD COPY
  134. .WORD SUBM33
  135. .BYTE 0
  136. .WORD PASTE 
  137. .WORD SUBM34
  138. .BYTE 0
  139. .WORD CLEAR
  140. SUBM31 .BYTE 'Cut',20,83,0,128,'X',0
  141. SUBM32 .BYTE 'Copy',20,83,0,128,'C',0
  142. SUBM33 .BYTE 'Paste',20,83,0,128,'T',0
  143. SUBM34 .BYTE 'Clear',0
  144. MEMSB4
  145. .BYTE MenuBotPos
  146. .BYTE MenuBotPos+43
  147. .WORD MenuLeft+63
  148. .WORD MenuLeft+132
  149. .BYTE VERT+3
  150. .WORD SUBM41
  151. .BYTE 0
  152. .WORD FIND
  153. .WORD SUBM42
  154. .BYTE 0
  155. .WORD RPTSTR
  156. .WORD SUBM44
  157. .BYTE $80
  158. .WORD GoMenu 
  159. SUBM41 .BYTE 'Find...',20,110,0,128,'F',0
  160. SUBM42 .BYTE 'Replace...',20,110,0,128,'R',0
  161. SUBM44 .BYTE 'Go To...',0
  162. MEMSB5
  163. .BYTE MenuBotPos
  164. .BYTE MenuBotPos+15
  165. .WORD MenuLeft+99
  166. .WORD MenuLeft+142
  167. .BYTE VERT+1
  168. .WORD SUBM51
  169. .BYTE 0 
  170. .WORD IMPORT
  171. SUBM51 .BYTE 'Import',0
  172. GoMenu
  173. .Byte MenuBotPos
  174. .BYte MenuBotPos+4*14+1
  175. .Word MenuLeft+133
  176. .Word MenuLeft+214
  177. .Byte VERT | 4
  178. .Word GOM11
  179.  .Byte 0
  180. .Word DOPGUP
  181. .Word GOM12
  182. .Byte 0
  183. .Word DOPGDOWN
  184. .Word GOM13
  185. .Byte 0
  186. .Word DOTOP
  187. .Word GOM14
  188. .Byte 0
  189. .Word DOBOTTOM
  190. GOM11 .Byte 'Page-Up',20,198,0,BOLD,'F5',PLAIN,0
  191. GOM12 .Byte 'Page-Down',20,198,0,BOLD,'F7',PLAIN,0
  192. GOM13 .Byte 'Top',20,198,0,BOLD,'F6',PLAIN,0
  193. GOM14 .Byte 'Bottom',20,198,0,BOLD,'F8',PLAIN,0
  194. ;==  END OF MENU TABLES
  195. JSR GotoFirstMenu
  196. QUIT2
  197. JMP EnterDeskTop
  198. ;====
  199. ; DIALOG BOXES
  200. DB1 .BYTE 128+2
  201. .BYTE 11
  202. .BYTE 10
  203. .BYTE 30
  204. .WORD NCSTR
  205. .BYTE 11,10,50
  206. .WORD NCSTR2
  207. .Byte 11,10,70
  208. .Word NCSTR3
  209. .BYTE 14
  210. .BYTE 0
  211. NCSTR .BYTE 'This is a sample program to',0
  212. NCSTR2 .BYTE 'demonstrate the coding methods to use',0
  213. NCSTR3 .Byte 'in writing programs with geoCOPE',0
  214. ;APPLICATION CODE/MENUS AND ICONS.
  215. ;     Currently, all of the routines in the MenuSystem points
  216. ;to the NOCODE routine below.
  217. ; See how all the Lables are currently using the same routine.
  218. LOAD SAVE PRINT SaveAs CUT COPY PASTE CLEAR FIND REPLACE
  219. IMPORT RPTSTR DOPGUP DOPGDOWN DOTOP DOBOTTOM
  220. NOCODE
  221. JSR $C1BD ;GOTO FIRST MENU
  222. LDX #<DB1
  223. STX R0
  224. LDX #>DB1
  225. STX R0+1
  226. JSR $C256; DO DIALOG BOX
  227. ;------
  228. clrScreen
  229.  LDA #0
  230.  JSR SetPattern
  231.  jsr i_Rectangle
  232.  .Byte 0
  233.  .Byte 199
  234.  .Word 0
  235.  .Word 319
  236.